Unity 点击UI与点击屏幕冲突

Unity 有点击屏幕进行移动操作,通过Input.GetMouseButtonDown(0)。如果点击到了一些UI上面会触发点击屏幕事件。

引入UnityEngine.EventSystems,用函数判断一下即可

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using DG.Tweening;
using UnityEngine.EventSystems;
public class PlayerController : MonoBehaviour
{
private void Update()
{
if (EventSystem.current.IsPointerOverGameObject()) return;
if (Input.GetMouseButtonDown(0))
{
Debug.Log("点击屏幕");
}
}
}

这个方法会将点击Text的时候也会当作点击UI

将raycast target 取消勾选可以避免。